package com.yunzhou.service;

import com.yunzhou.entity.ForumArticle;

import java.util.List;

public interface ForumArticleService {
    // 获取文章列表
    List<ForumArticle> getForumArticleList(Integer boardId, Integer parentBoardId, String boardName, String parentBoardName, Integer orderType, Integer pageNum, Integer pageSize);

    // 获取文章数
    Integer getForumArticleListTotal(Integer boardId, Integer parentBoardId, String boardName, String parentBoardName);

    // 根据文章ID获取文章
    ForumArticle getForumArticleByArticleId(Long articleId);

    // 更新文章阅读数
    void updateForumArticleReadCountByArticleId(Long articleId, Integer count);

    // 文章点赞
    void doArticleLike(Long articleId, Long userId);

    // 新增文章
    void insert(ForumArticle forumArticle);

    // 更新文章
    void update(ForumArticle forumArticle);

    // 根据用户ID获取发表文章
    List<ForumArticle> getForumArticleListByUserId(Long userId, Integer orderType, Integer pageNum, Integer pageSize);
    // 根据用户ID获取发表文章数
    Integer getPostCountByUserId(Long userId);

    // 根据文章ID删除文章
    void deleteForumArticleByArticleId(Long articleId);

    // 生成热点文章，存储到redis中
    void getHotArticletoRedis();
}
